package com.leyou.search.pojo;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Date;
import java.util.Map;
import java.util.Set;

/**
 * @Author：lidatu
 * @Date： 2019/01/25 星期五 16:55
 * @Description： 封装要保存到索引库的数据，并设置映射属性
 */

@Data
@Document(indexName = "goods", type = "docs", shards = 1, replicas = 0)
public class Goods {
    @Id
    private Long id; // spuId
    @Field(type = FieldType.Text, analyzer = "ik_max_word")  //Field：声明映射关系
    private String all; // 所有需要被搜索的信息，包含标题，分类，甚至品牌

    @Field(type = FieldType.Keyword, index = false)  //不进行搜索也不进行分词 现实中没人用 仅仅用来展示
    private String subTitle; // 卖点

    private Long brandId; // 品牌id
    private Long cid1; // 1级分类id
    private Long cid2; // 2级分类id
    private Long cid3; // 3级分类id
    private Date createTime; // 创建时间
    private Set<Long> price; // 价格

    @Field(type = FieldType.Keyword, index = false)
    private String skus; // sku信息的json结构
    private Map<String, Object> specs; // 可搜索的规格参数，key是参数名，值是参数值

}
